Метасимволы [] (квадратные скобки)
Метасимволы "[]" позволяют определить подмножество символов, которые необходимо распознавать при выполнении операции поиска или подстановки. Запись группы символов, заключенных в квадратные скобки, означает: "любой одиночный символ из указанных". Например, если "[0123456789]", это будет означать: "любая цифра". Можно записать и короче: "[0-9]". Запись двух символов, разделенных знаком минус, означает задание интервала в
лексикографической последовательности символов. Так, запись "[А-Я]" означает: "прописная русская буква", а запись: "[a-z] [a-z0-9]*" означает последовательность латинских букв и цифр, начинающуюся с буквы.
Указание в начале класса символа "^" означает "ни один из следующих символов". Например:
^[0-9]
обозначает "любой символ, за исключением цифры".
Примеры.
1, $s/^[0-9]*//
удаление всех цифр в начале каждой строки;
/^[^(пробел)(табуляция)]/
поиск первой строки, не начинающейся символом пробела или табуляции.
Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду:
/[.[]/
Внутри "[...]" символ "[" не является специальным. Чтобы включить символ "]" в класс символов, нужно указать его первым.